package cn.tedu.knows.faq.controller;


import cn.tedu.knows.commons.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

//下面的注解表示当前这个类是用于增强所有Controller类功能的
//我们学习的统一异常处理属于增强功能的一部分
@RestControllerAdvice
@Slf4j
public class ExceptionControllerAdvice {

    //下面注解的含义是注解之后的方法是用于处理异常的
    //所有控制器类发生异常都可能运行这个方法
    @ExceptionHandler
    public String handlerServiceException(ServiceException e){
        //当控制器方法发生ServiceException类型异常时
        //统一由当前这个异常处理方法进行处理
        log.error("业务异常",e);
        return e.getMessage();
    }

    @ExceptionHandler
    public String handlerException(Exception e){
        log.error("其它异常",e);
        return e.getMessage();

    }




}
